export class LoginDAO {
    private username: string;
    private password: string;

    constructor(username: string, password: string) {
        this.username = username;
        this.password = password;
    }
}

export class Result<T> {
    code: number;
    msg: string;
    data: T;
    constructor(code: number, msg: string, data: T) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
}

export class Hotel {
    hotelId!: string | number;  
    name!: string;
    city!: string;
    avatar!: string;  // 酒店封面
    hotel_id!: string | number;
    address?: string;
    description?: string;
    price?: number;
    photos?: string[];  // 酒店照片
    adminId?: string | number;
    // 可根据实际后端返回字段继续补充
}

// Baidu Map Type Definitions
declare global {
  interface Window {
    BMap: any;
    BMAP_ANIMATION_BOUNCE: any;
    BMAP_STATUS_SUCCESS: any;
    initBaiduMap: () => void;
  }
}

export interface BMapInstance {
  Map: any;
  Point: any;
  Marker: any;
  NavigationControl: any;
  ScaleControl: any;
  Geocoder: any;
  LocalSearch: any;
}

declare global {
  const BMap: BMapInstance;
}
    